/***************************************************************************
 *   Copyright (C) 2009 by wutongyu   *
 *
 ***************************************************************************/

#ifndef _BUSINESSLOGIC_H
#define _BUSINESSLOGIC_H

#include <string>
#include <vector>

#include <Contact.h>
#incldue <Worker.h>
#include <Item.h>
#include <Schedule.h>
#incldue <Bill.h>
#include <SoldItem.h>


/*管理员查询通讯录*/
vector<Contact> getContactList();

/*管理员添加，删除，修改员工*/
bool addWorker(Worker worker);
bool deleteWorker(int workerID);
bool deleteWorker(string workerName);
bool modifyWorker(int workerID,Worker modifyTo);

/*管理员或者员工查询某段时间应该值班的人员。*/
vector<Schedule> getSchedules();
vector<string> getScheduledWorkers(string startTime,string endTime="0");

/*管理员月（周/天）内结余，时间x每小时工资+营业额x提成比例。对每个员工形成结余清单，向管理员统计收支情况*/
Bill getBill(int workerID);
Bill getBill(string workerName);

/*管理员设置、管理帐户。每名员工应该有自己的一个帐户。管理员可以查看和管理所有的帐户。普通员工只能查看自己的帐户*/
bool verifyAccount(string username, string passwd);
//getAccount();
//getAccounts();
bool modifyAccount(string username,string newUserName,string passwd);

/*员工记录所点的东西，计入员工的营业额，并计入总帐*/
addSoldItem();

/*员工查询价目表，查询商品的配料和比例*/
vector<Item> getItems();
Item getItem();

/*自动记录当前店内原材料使用情况，成本情况，对相应材料不足时，提供相应预警*/
//getCurrentRawMaterialStates();
//getBoughtRawMaterial();

/*用户（管理员/员工）登录，注销*/
//login();
//logout();
/*打印*/
//print();
